gdk_region_get_clipbox() lets you get a rectangle around the region.
GdkRegion* gdk_region_new (void);
void gdk_region_destroy (GdkRegion *region);
+void gdk_region_get_clipbox(GdkRegion *region,
+ GdkRectangle *rectangle);
+
gboolean gdk_region_empty (GdkRegion *region);
gboolean gdk_region_equal (GdkRegion *region1,
GdkRegion *region2);
return XEqualRegion (private1->xregion, private2->xregion);
}
+void
+gdk_region_get_clipbox(GdkRegion *region,
+ GdkRectangle *rectangle)
+{
+ GdkRegionPrivate *rp;
+ XRectangle r;
+
+ g_return_if_fail(region != NULL);
+ g_return_if_fail(rectangle != NULL);
+
+ rp = (GdkRegionPrivate *)region;
+ XClipBox(rp->xregion, &r);
+
+ rectangle->x = r.x;
+ rectangle->y = r.y;
+ rectangle->width = r.width;
+ rectangle->height = r.height;
+}
+
gboolean
gdk_region_point_in (GdkRegion *region,
gint x,
return XEqualRegion (private1->xregion, private2->xregion);
}
+void
+gdk_region_get_clipbox(GdkRegion *region,
+ GdkRectangle *rectangle)
+{
+ GdkRegionPrivate *rp;
+ XRectangle r;
+
+ g_return_if_fail(region != NULL);
+ g_return_if_fail(rectangle != NULL);
+
+ rp = (GdkRegionPrivate *)region;
+ XClipBox(rp->xregion, &r);
+
+ rectangle->x = r.x;
+ rectangle->y = r.y;
+ rectangle->width = r.width;
+ rectangle->height = r.height;
+}
+
gboolean
gdk_region_point_in (GdkRegion *region,
gint x,